home *** CD-ROM | disk | FTP | other *** search
Java Source | 1998-10-16 | 9.8 KB | 516 lines |
- package com.symantec.itools.tools.archive;
-
-
- import java.io.IOException;
- import java.util.Enumeration;
- import java.util.Vector;
- import com.symantec.itools.io.FileSystem;
- import com.symantec.itools.lang.DynamicClassException;
- import com.symantec.itools.lang.AccessiblePlatform;
- import com.symantec.itools.util.Properties;
-
-
- /**
- * @author Symantec Internet Tools Division
- * @version 1.0
- * @since VCafe 3.0
- */
-
- public final class Options
- {
- private String classpath;
- private String type;
- private String outputLocation;
- private String tempDir;
- private String signer;
- private String signerArgs;
- private String archiverArgs;
- private boolean verbose;
- private boolean overwrite;
- private boolean debug;
- private String debugLog;
- private String[] files;
- private String[] entries;
- private TypeArchiver archiver;
- private TypeValidator validator;
- private TypeSigning sign;
- private Properties[] types;
- private Properties[] validators;
- private Properties[] signers;
- private String microsoftTools;
- // private String netscapeTools;
- private String sunTools;
- private Vector listeners;
-
- {
- files = new String[0];
- entries = new String[0];
- listeners = new Vector();
- }
-
- public Options()
- throws IOException
- {
- Properties properties;
-
- if(AccessiblePlatform.getJavaVersion() == null)
- {
- throw new IOException("Platform doesn't know about the Java version");
- }
-
- properties = new Properties("/com/symantec/itools/tools/archive/Archiver" +
- AccessiblePlatform.getJavaVersion() + ".properties");
- classpath = System.getProperty("java.class.path");
- validators = properties.getPropertiesList("validators");
- types = properties.getPropertiesList("archivers");
- signers = properties.getPropertiesList("signers");
- }
-
- /**
- * @param t TODO
- * @since VCafe 3.0
- */
-
- public final void setType(String t)
- {
- type = t.toLowerCase();
- }
-
- /**
- * @param location TODO
- * @since VCafe 3.0
- */
-
- public final void setOutputLocation(String location)
- {
- outputLocation = location;
- }
-
- /**
- * @param dir TODO
- * @since VCafe 3.0
- */
-
- public final void setTempDir(String dir)
- {
- tempDir = FileSystem.getCanonicalPath(dir, true);
- }
-
- /**
- * @param f TODO
- * @since VCafe 3.0
- */
-
- public final void setVerbose(boolean f)
- {
- verbose = f;
- }
-
- /**
- * @since VCafe 3.0
- */
-
- public final String getType()
- {
- return (type);
- }
-
- /**
- * @since VCafe 3.0
- */
-
- public final String getOutputLocation()
- {
- return (outputLocation);
- }
-
- /**
- * @since VCafe 3.0
- */
-
- public final String getTempDir()
- {
- return (tempDir);
- }
-
- /**
- * @since VCafe 3.0
- */
-
- public final boolean isVerbose()
- {
- return (verbose);
- }
-
- /**
- * @since VCafe 3.0
- */
-
- public final boolean isDebug()
- {
- return (debug);
- }
-
- /**
- * @since VCafe 3.0
- */
- public final boolean isSigning()
- {
- if(signer == null)
- {
- signer = "";
- }
-
- return (!(signer.equals("")));
- }
-
- /**
- * @param array TODO
- * @since VCafe 3.0
- */
-
- public final void setFiles(String[] array)
- {
- files = array;
- }
-
- /**
- * @param array TODO
- * @since VCafe 3.0
- */
-
- public final void setEntries(String[] array)
- {
- entries = array;
- }
-
- /**
- * @since VCafe 3.0
- */
-
- public final String[] getFiles()
- {
- return (files);
- }
-
- /**
- * @since VCafe 3.0
- */
-
- public final String[] getEntries()
- {
- return (entries);
- }
-
- /**
- * @param cp TODO
- * @since VCafe 3.0
- */
-
- public final void setClasspath(String cp)
- {
- classpath = cp;
- }
-
- /**
- * @since VCafe 3.0
- */
-
- public final String getClasspath()
- {
- return (classpath);
- }
-
- /**
- * @param f TODO
- * @since VCafe 3.0
- */
-
- public final void setDebug(boolean f)
- {
- debug = f;
- }
-
- /**
- * @since VCafe 3.0
- */
-
- public final boolean getDebug()
- {
- return (debug);
- }
-
- /**
- * @param log TODO
- * @since VCafe 3.0
- */
-
- public final void setDebugLog(String log)
- {
- debugLog = log;
- }
-
- /**
- * @since VCafe 3.0
- */
-
- public final String getDebugLog()
- {
- return (debugLog);
- }
-
- /**
- * @exception com.symantec.itools.lang.DynamicClassException
- * @since VCafe 3.0
- */
-
- public final TypeValidator getValidator()
- throws DynamicClassException
- {
- Class[] argTypes;
- Object[] argValues;
-
- if(archiver != null)
- {
- return (validator);
- }
-
- argTypes = new Class[1];
- argTypes[0] = Options.class;
- argValues = new Object[1];
- argValues[0] = this;
-
- for(int i = 0; i < validators.length; i++)
- {
- if(validators[i].get("name").equals(type))
- {
- validator = (TypeValidator)validators[i].getNewInstanceOfClass("class", argTypes, argValues);
-
- return (validator);
- }
- }
-
- return (null);
- }
-
- /**
- * @exception com.symantec.itools.lang.DynamicClassException
- * @since VCafe 3.0
- */
-
- public final TypeArchiver getArchiver()
- throws DynamicClassException
- {
- Class[] argTypes;
- Object[] argValues;
-
- if(archiver != null)
- {
- return (archiver);
- }
-
- argTypes = new Class[1];
- argTypes[0] = Options.class;
- argValues = new Object[1];
- argValues[0] = this;
-
- for(int i = 0; i < types.length; i++)
- {
- if(types[i].get("name").equals(type))
- {
- archiver = (TypeArchiver)types[i].getNewInstanceOfClass("class", argTypes, argValues);
-
- return (archiver);
- }
- }
-
- return (null);
- }
-
- /**
- * @exception com.symantec.itools.lang.DynamicClassException
- * @since VCafe 3.0
- */
-
- public final TypeSigning getSign()
- throws DynamicClassException
- {
- Class[] argTypes;
- Object[] argValues;
-
- if(sign != null)
- {
- return (sign);
- }
-
- argTypes = new Class[1];
- argTypes[0] = Options.class;
- argValues = new Object[1];
- argValues[0] = this;
-
- for(int i = 0; i < signers.length; i++)
- {
- if(signers[i].get("name").equals(signer))
- {
- sign = (TypeSigning)signers[i].getNewInstanceOfClass("class", argTypes, argValues);
-
- return (sign);
- }
- }
-
- return (null);
- }
-
- /**
- * @param f TODO
- * @since VCafe 3.0
- */
-
- public final void setOverwrite(boolean f)
- {
- overwrite = f;
- }
-
- /**
- * @since VCafe 3.0
- */
-
- public final boolean isOverwrite()
- {
- return (overwrite);
- }
-
- /**
- * @param str TODO
- * @since VCafe 3.0
- */
-
- public final void setSigner(String str)
- {
- signer = str;
- }
-
- /**
- * @param str TODO
- * @since VCafe 3.0
- */
- public final void setSignerArgs(String args)
- {
- signerArgs = args;
- }
-
- /**
- * @param str TODO
- * @since VCafe 3.0
- */
- public final void setArchiverArgs(String args)
- {
- archiverArgs = args;
- }
-
- /**
- * @since VCafe 3.0
- */
-
- public final String getSigner()
- {
- if(signer == null)
- {
- signer = "";
- }
-
- return (signer);
- }
-
- /**
- * @since VCafe 3.0
- */
-
- public final String getSignerArgs()
- {
- return (signerArgs);
- }
-
- /**
- * @since VCafe 3.0
- */
-
- public final String getArchiverArgs()
- {
- return (archiverArgs);
- }
-
- /**
- * @param str TODO
- * @since VCafe 3.0
- */
-
- public final void setMicrosoftTools(String str)
- {
- microsoftTools = str;
- }
-
- /**
- * @since VCafe 3.0
- */
-
- public final String getMicrosoftTools()
- {
- return (microsoftTools);
- }
-
- // /**
- // * @param str TODO
- // * @since VCafe 3.0
- // */
- // public final void setNetscapeTools(String str)
- // {
- // netscapeTools = str;
- // }
-
- // /**
- // * @since VCafe 3.0
- // */
- // public final String getNetscapeTools()
- // {
- // return (netscapeTools);
- // }
-
- /**
- * @param str TODO
- * @since VCafe 3.0
- */
-
- public final void setSunTools(String str)
- {
- sunTools = str;
- }
-
- /**
- * @since VCafe 3.0
- */
-
- public final String getSunTools()
- {
- return (sunTools);
- }
-
- /**
- * @param listener TODO
- * @since VCafe 3.0
- */
-
- public void addArchiverListener(ArchiverListener listener)
- {
- listeners.addElement(listener);
- }
-
- /**
- * @since VCafe 3.0
- */
-
- public Enumeration getListeners()
- {
- return (listeners.elements());
- }
- }